The computer mouse has simplified the computer-human interface. Before the computer mouse, many users were confined to interacting with a computer through the use of a command line interface (CLI as is known in the art). The computer mouse (also commonly referred to simply as a “mouse”) has, in recent years, been improved upon with the inclusion of a wheel on the top of the mouse. An example of a wheeled mouse is shown in FIGS. 1A and 1B. The function of the wheel 103 is to scroll the text or document or image located below a displayed cursor 116 shown on a visual display device 107. The wheel is linked to an optically encoded wheel for sensing the rotational location of the wheel 103. To allow for feedback to the user, the wheel contains a number of notches (not shown for simplicity). When rotated, a user is presented with tactile feedback of the distance rotated through sensing the number of notches rotated by the wheel. The function of the wheel 103 is interpreted through signals sent from mouse 102 through cable 104 to computer 100 having memory 150 and processor 110. Shown for completeness is keyboard 101, which is generally used in combination with mouse 102 for various operations as are known in the art. For example, rotating the wheel away from the user may scroll the underlying displayed content down so as to show another portion of the displayed content immediately preceding, or above, the originally displayed content. Likewise, rotating the wheel toward the user may scroll the underlying displayed content up so as to show another portion of the displayed content immediately subsequent to, or below, the originally displayed content.
A user may specify a scrolling mode of either scrolling by a fixed number of lines (referred to herein as the “line-scrolling mode”) or scrolling by page (referred to herein as the “page-scrolling mode). To change from one scrolling mode, or to modify the number of lines to scroll in the line-scrolling mode, a user navigates a series of windows to a preferences option list for the wheeled mouse. In general, the preferences page allows selection of the scrolling mode as well as a designation of the number of lines to scroll per notch indent when a line-scrolling mode is selected.
Presently, to scroll a document or other content on a computer screen, a user may use a scrolling mechanism on an input device such as the wheel on a mouse as described above, keyboard navigation keys, or a scroll bar provided as part of a graphical user interface. In many scenarios, the wheel on the mouse is preferred for scrolling. Scrolling through a document via the wheel on a wheeled mouse provides useful document handling without the need to access the keyboard or predefined scroll bars. A mouse wheel is, however, limited in the distance that one can quickly scroll through a document or other data file. Rolling the wheel works very well for precision (short-distance) scrolling, allowing users to finely tune to the section of the page they want visible, but this method becomes less satisfactory as document length is increased and the user needs to scroll longer distances.
For example, in a scenario where the user needs to scroll a long distance in a document using a wheeled mouse as shown in FIGS. 1A and 1B, the user would have to scroll across 22 notches of the mouse wheel per page of 66 lines on the default setting of 3 lines per notch. In a typical stroke, the user may go through 6 notches; therefore to scroll one whole page the user has to actuate a full stroke of the wheel four times. Scrolling more than approximately two pages may make using the scroll wheel uncomfortable, strenuous, and time consuming.
As a document's size changes or the needs of a user change (for example, from drafting a document to editing or reviewing a completed draft), the user may desire to change the scrolling mode. With the known wheeled mouse, changing the scrolling mode involves navigating to a mouse preferences page, switching the scrolling mode, changing (when appropriate) the number of lines to scroll with every rotational notch in the wheel, and finally returning to the underlying document. Some users may find that these steps detract from the ease of using the scrolling feature of a wheeled mouse.
Input controls typically used for scrolling are often provided with a very low input resolution. For example, one existing mouse wheel has 18 notch positions that can be sensed, i.e., one notch per every 20 degrees. (Notches are provided for tactile feedback, and are not required. Notches merely provide the user tactile feedback to determine when the user has rolled through a position on the wheel that will trigger a wheel rotation signal. One can imagine a wheel that has no notches but works the same as stated above.) Furthermore, messages from the mouse are transmitted to the operating system at a predetermined reporting rate, e.g., 100 Hz for PS/2 and 30 Hz for serial (USB) mice. Thus, if considered as a sensor which ideally would detect the exact actual rotation imparted by the user's finger, the wheel mechanism actually suffers from significant quantization effects both for the sensed angle (20 degree increments) and the sensed time at which the wheel arrived at that angle. As a result, modification of the device's control-to-display ratio can have a significant effect on the user's performance.
The general concept of attempting to enhance user performance by setting an “optimal” control-to-display ratio (gain factor), or by providing a variable gain factor depending on the speed, distance, or other performance criteria of a human gesture, is known in the art. For example, on many desktop computers presently available, the distance which a mouse cursor moves on the screen in response to hand movement varies depending on the speed of the gesture. However, gain factor manipulation is not widely used for scrolling.
One known accelerated scrolling technique, implemented on Apple Macintosh computers, uses only two scroll modes. The technique apparently moves the screen in increments of one full page when the user rolls the wheel quickly, but moves a single line at a time when the user rolls the wheel slowly. In addition to its operational limitations, it is difficult to implement this technique on a Windows-based system because of the architecture of the Windows mouse system. Other known techniques for “accelerating” input device control/gain ratios in response to the user's input gesture do not give satisfactory results when scrolling a document using a wheel or other motion sensing input mechanism.
Accordingly, a more efficient technique for providing accelerated scrolling would be desirable, particularly one that could be optimized for motion sensing input devices using Microsoft WINDOWS® brand operating systems.